home *** CD-ROM | disk | FTP | other *** search
- Release Notes CBUFF 0.9.0
- Anjo Anjewierden (anjo@swi.psy.uva.nl)
- November 15, 1993
-
- Below are the release notes for CBUFF 0.9. I will have little time
- available until the end of the year to develop CBUFF further. Most of the
- utilities have already existed for quite a while and I therefore suggest
- that they have entered the status of an "alpha-release".
-
- The utilities have been tested extensively under Unix (compiled with GCC
- 2.4.5). I leave the testing on other platforms to you. I'm also looking
- for those who can compile CBUFF on Amiga, Macintosh and MS-DOS (other than
- Borland C++). The public distribution will contain binaries for the Atari
- ST.
-
- The documentation is nearly complete.
-
- New utility:
- ============
-
- There is a new utility: "cunames". This utility prints a frequency count
- of the players and the source of the games in a database. The intention of
- "cunames" is to spot incorrect player and source names.
-
- At the moment "cunames" can generate the following information:
-
- -names file
- Names of the players (Black and White).
- -place file
- Place where the game was played.
- -players file
- Entire players field.
- -source file
- Entire source field.
-
- The top-10 of applying "cunames" to a large database results in:
-
- cunames -names
-
- 2466 Tal,M
- 1258 Timman,J
- 1030 Karpov,An
- 824 Kasparov,G
- 802 Korchnoi,V
- 722 Nunn,J
- 684 Portisch,L
- 672 Uhlmann,W
- 664 Hort,V
- 634 Spassky,B
-
- cunames -place
-
- 5794 corr
- 4009 cr
- 3718 Moskva
- 3718 Budapest
- 3558 Bratislava
- 3446 BRD tt
- 3378 New York
- 3341 London
- 2903 Duisburg
- 2664 Manila
-
- cunames -players
-
- 74 Kasparov,G-Karpov,An
- 74 Karpov,An-Kasparov,G
- 42 Neumann,G-Anderssen,A
- 42 De la Bourdonnais,Louis-MacDonnell,Alexander
- 41 MacDonnell,Alexander-De la Bourdonnais,Louis
- 34 Anderssen,A-Neumann,G
- 33 Karpov,An-Timman,J
- 28 Karpov,An-Korchnoi,V
- 27 Timman,J-Karpov,An
- 27 Short,N-Timman,J
-
- cunames -source
-
- 2667 cr
- 1302 BRD tt
- 1124 Sverige
- 781 USSR
- 668 London
- 659 Hastings
- 653 Moskva
- 624 corr
- 605 Karlsbad
- 571 Hamburg GER-chJI U20
-
- Many players appear more than once under different names. Kasparov
- appears as:
-
- 824 Kasparov,G
- 64 Kasparov,Gary
- 40 Kasparov,Garry
- 6 Kasparov,Garri
- 4 Gary Kasparov
- 2 Kasparov
-
- and Karpov appears as:
-
- 1030 Karpov,An
- 164 Karpov,Anatoly
- 118 Karpov,A
- 16 Karpov,Anatoli
- 8 Anatoly Karpov
- 2 Karpov
-
- The total number of player names is 32706 (including duplicates such as
- those mentioned above). The total size of the database is 192649 games,
- such that the average per different player is about 11.8 games. Note
- that the total player count would fit within 16 bits, this presents an
- opportunity to improve the space efficiency of "cusort" further.
-
-
- Player names:
- ============
-
- In order for "cunames" to work a number of changes have been made to the
- way player names are extracted from the "players" field of a game. If the
- players field contains more than one hyphen, it is compared against a list
- of known player names that include a hyphen (e.g. "Jan-Hein", "Lars-Bo",
- etc.). If there is a match then the hyphen is replaced by a space and once
- again the names of White and Black are extracted. Finally, the function
- "normalisePlayer" is used to remove leading and trailing spaces, brackets
- and so forth. This is implemented as part of "getWhiteGame()" and
- "getBlackGame()" and therefore applies to all utilities that use these
- functions.
-
-
- Place names:
- ===========
-
- The function "getPlaceGame()" can be used to extract the place from a game.
- This function uses a number of heuristics. The main heuristic is that the
- place is the first word of the players field. There are obviously various
- exceptions (e.g. New York, Wijk aan Zee), these are stored in the file
- "places.def" and "getPlaceGame()" will load this file.
-
-
- Sorting:
- =======
-
- Thanks to Urban Koistinen the "cusort" utility has been improved. Urban's
- algorithm is (much) more space efficient than my old one was. I have been
- able to sort a 11000 game database under DOS. "cusort" reports the
- amount of memory available, so you can experiment. The C compiler still
- generates a number of "sign-mismatches", I will work this out later.
-
-
- CBUFF directory:
- ===============
-
- In DOS and Unix you can specify a CBUFF directory. CBUFF will read the
- standard files (e.g. "ascii.sym") from this directory if they don't appear
- in the current working directory. The same applies to files specified with
- the "-insert" or "-symbols" option.
-
- In DOS say (do not forget the trailing "\")
-
- set CBUFFDIR C:\CBUFF\
-
- In Unix say (do not forget the trailing "/")
-
- setenv CBUFFDIR "~/CBUFF/"
-
- Make sure to copy the relevant files to the directory you mention.
-
-
- Bugs fixed:
- ==========
-
- * "culist" would generate an error message for games for which
- no Result was available.
-
- * "culist" could crash on a game with errors.
-
- * Memory exhaustion in "cusort" printed properly.
-
- * The -append option would remove the last game of a database and make
- it appear that the first game of the appended database appeared twice.
-
-
- Enhancements:
- ============
-
- * "cusort" can handle bigger databases under DOS. If "cusort" cannot
- obtain the name of White it will use the entire player field instead.
-
- * "cuverify" contains additional options to control what aspect of
- a database is being verified (see -help of "cuverify for details).
- Brief summary of new options:
-
- cuverify <db> To find errors in header and moves
- cuverify -nomoves <db> To find errors in header only
- cuverify -noverify -index <db> To check .cbi file against .cbf
- cuverify -noverify -names <db> To check names of players, source
-
-
- Version management:
- ==================
-
- The version numbers are now:
-
- CBUFF library 0.9.0
-
- Utility Version DOS limitations (approximately)
- ----------------------------------------------------------
- cuclean 1.1.0 60000 games / database
- culatex 1.1.0 60000 games / database
- culist 1.1.0 60000 games / database
- cumerge 1.1.0 60000 games / database
- cunames 1.0.0 60000 games / database
- cupgn 1.1.0 60000 games / database
- cusort 1.1.0 13000 games (see Memory available statistics)
- custats 1.1.0 60000 games / database
- cuverify 1.1.0 60000 games / database
-
-